﻿
using System;

using EnvDTE;

using FileCodeModel = Microsoft.WowAddonStudio.Automation.FileCodeModel;
using CodeElements = Microsoft.WowAddonStudio.Automation.CodeElements;

using TextPoint = EnvDTE.TextPoint;

namespace Microsoft.WowAddonStudio.Lua.CodeModel
{
    public class LuaFileCodeModel : FileCodeModel
    {
        private readonly CodeElements codeElements;

        public LuaFileCodeModel(DTE dte, ProjectItem projectItem)
            : base(dte, projectItem)
        {
            codeElements = new CodeElements(dte, this);
        }

        public override string Language
        {
            get { return "Lua"; }
        }

        public override EnvDTE.CodeElements CodeElements
        {
            get { return codeElements; }
        }

        public override CodeElement CodeElementFromPoint(TextPoint point, vsCMElement scope)
        {
            if (point == null)
                throw new ArgumentNullException("point");

            return null;
        }

        public override void Remove(object Element)
        {
            if (Element == null)
                throw new ArgumentNullException("Element");
        }
    }
}
